/**
 * 
 */
package com.williamoneil.charts.client.data;

import java.util.Date;

import com.williamoneil.charts.shared.TradeDateType;

/**
 * @author gudipati
 *
 */
public class Tick {

	private Date date = null;
	private TradeDateType tradeDateType = null;
	
	private Price price = null;
	private Volume volume = null;
	
	private boolean hasPriceHighLabel = false;
	private boolean hasPriceLowLabel = false;
	private boolean hasVolumeLabel = false;

	private MovingAverage priceMovingAverage1 = null;
	private MovingAverage priceMovingAverage2 = null;
	private MovingAverage volumeMovingAverage = null;
	
	private RelativeStrengthLine rsLine = null;
	
	private BenchmarkLine benchmarkLine = null;
	
	/**
	 * @return the date
	 */
	public Date getDate() {
		return date;
	}
	/**
	 * @param date the date to set
	 */
	public void setDate(Date date) {
		this.date = date;
	}
	/**
	 * @return the tradeDateType
	 */
	public TradeDateType getTradeDateType() {
		return tradeDateType;
	}
	/**
	 * @param tradeDateType the tradeDateType to set
	 */
	public void setTradeDateType(TradeDateType tradeDateType) {
		this.tradeDateType = tradeDateType;
	}
	/**
	 * @return the price
	 */
	public Price getPrice() {
		return price;
	}
	/**
	 * @param price the price to set
	 */
	public void setPrice(Price price) {
		this.price = price;
	}
	/**
	 * @return the volume
	 */
	public Volume getVolume() {
		return volume;
	}
	/**
	 * @param volume the volume to set
	 */
	public void setVolume(Volume volume) {
		this.volume = volume;
	}	
	/**
	 * @return the hasPriceHighLabel
	 */
	public boolean isHasPriceHighLabel() {
		return hasPriceHighLabel;
	}
	/**
	 * @param hasPriceHighLabel the hasPriceHighLabel to set
	 */
	public void setHasPriceHighLabel(boolean hasPriceHighLabel) {
		this.hasPriceHighLabel = hasPriceHighLabel;
	}
	/**
	 * @return the hasPriceLowLabel
	 */
	public boolean isHasPriceLowLabel() {
		return hasPriceLowLabel;
	}
	/**
	 * @param hasPriceLowLabel the hasPriceLowLabel to set
	 */
	public void setHasPriceLowLabel(boolean hasPriceLowLabel) {
		this.hasPriceLowLabel = hasPriceLowLabel;
	}
	/**
	 * @return the hasVolumeLabel
	 */
	public boolean isHasVolumeLabel() {
		return hasVolumeLabel;
	}
	/**
	 * @param hasVolumeLabel the hasVolumeLabel to set
	 */
	public void setHasVolumeLabel(boolean hasVolumeLabel) {
		this.hasVolumeLabel = hasVolumeLabel;
	}
	
	/**
	 * @return the volumeMovingAverage
	 */
	public MovingAverage getVolumeMovingAverage() {
		return volumeMovingAverage;
	}
	/**
	 * @param volumeMovingAverage the volumeMovingAverage to set
	 */
	public void setVolumeMovingAverage(MovingAverage volumeMovingAverage) {
		this.volumeMovingAverage = volumeMovingAverage;
	}
	/**
	 * @return the priceMovingAverage1
	 */
	public MovingAverage getPriceMovingAverage1() {
		return priceMovingAverage1;
	}
	/**
	 * @param priceMovingAverage1 the priceMovingAverage1 to set
	 */
	public void setPriceMovingAverage1(MovingAverage priceMovingAverage1) {
		this.priceMovingAverage1 = priceMovingAverage1;
	}
	/**
	 * @return the priceMovingAverage2
	 */
	public MovingAverage getPriceMovingAverage2() {
		return priceMovingAverage2;
	}
	/**
	 * @param priceMovingAverage2 the priceMovingAverage2 to set
	 */
	public void setPriceMovingAverage2(MovingAverage priceMovingAverage2) {
		this.priceMovingAverage2 = priceMovingAverage2;
	}
	/**
	 * @return the rsLine
	 */
	public RelativeStrengthLine getRsLine() {
		return rsLine;
	}
	/**
	 * @param rsLine the rsLine to set
	 */
	public void setRsLine(RelativeStrengthLine rsLine) {
		this.rsLine = rsLine;
	}
	/**
	 * @return the benchmarkLine
	 */
	public BenchmarkLine getBenchmarkLine() {
		return benchmarkLine;
	}
	/**
	 * @param benchmarkLine the benchmarkLine to set
	 */
	public void setBenchmarkLine(BenchmarkLine benchmarkLine) {
		this.benchmarkLine = benchmarkLine;
	}
}
